|
@@ -1,27 +1,17 @@
|
|
|
<template>
|
|
|
- <template-page ref="pageRef" :get-list="getList" :table-attributes="tableAttributes" :table-events="tableEvents" :operationColumnWidth="200"
|
|
|
+ <template-page ref="pageRef" :get-list="getList" :table-attributes="tableAttributes" :table-events="tableEvents" :operationColumnWidth="50"
|
|
|
:options-evens-group="optionsEvensGroup" :moreParameters="moreParameters" :column-parsing="columnParsing"
|
|
|
:operation="operation" :exportList="exportList">
|
|
|
- <div slot="moreSearch">
|
|
|
- <el-radio-group v-model="examineStatus" size="mini" @change="changeType">
|
|
|
- <el-radio-button label="">全部</el-radio-button>
|
|
|
- <el-radio-button label="WAIT">待审核</el-radio-button>
|
|
|
- <el-radio-button label="OK">审核通过</el-radio-button>
|
|
|
- <el-radio-button label="FAIL">驳回</el-radio-button>
|
|
|
- </el-radio-group>
|
|
|
- <br><br>
|
|
|
- </div>
|
|
|
- <el-dialog title="" width="800px" custom-class="diy-dialog" append-to-body :modal="true" :visible.sync="formDialog"
|
|
|
+ <el-dialog title="" width="1200px" custom-class="diy-dialog" append-to-body :modal="true" :visible.sync="formDialog"
|
|
|
:show-close="true" :close-on-click-modal="false" :modal-append-to-body="false" :before-close="formCancel">
|
|
|
<zj-form-container ref="formRef" :form-data="formData" :styleSwitch="false">
|
|
|
- <zj-form-module :title="formDialogTitles[formDialogType]" label-width="100px" :showPackUp="false"
|
|
|
- :form-data="formData" :form-items="formItems">
|
|
|
+ <zj-form-module :title="formDialogTitles[formDialogType]" label-width="170px" :showPackUp="false"
|
|
|
+ :form-data="formData" :form-items="formItems" :disabled="formDialogType==2">
|
|
|
</zj-form-module>
|
|
|
</zj-form-container>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button v-if="formData.examineStatus == 'WAIT'" size="mini" type="primary" @click="audit('OK')">审核通过</el-button>
|
|
|
- <el-button v-if="formData.examineStatus == 'WAIT'" size="mini" type="danger" @click="audit('FAIL')">审核驳回</el-button>
|
|
|
<el-button size="mini" @click="formCancel">取 消</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="formConfirm()">确定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</template-page>
|
|
@@ -30,19 +20,65 @@
|
|
|
<script>
|
|
|
import TemplatePage from '@/components/template/template-page-1.vue'
|
|
|
import import_mixin from '@/components/template/import_mixin.js'
|
|
|
-import { required, mobileRequired, mobile } from '@/components/template/rules_verify.js'
|
|
|
-import { listPageV2,pageExport, getDetail, add, edit } from "@/api/auxiliaryFittings/supplier";
|
|
|
+import ImageUpload from '@/components/file-upload'
|
|
|
+import { downloadFiles } from '@/utils/util'
|
|
|
+import { required, mobileRequired, mobile, httpUrl, email } from '@/components/template/rules_verify.js'
|
|
|
+import { listPageV2,pageExport, getDetail, add, edit, updateStatus, listImport } from "@/api/auxiliaryFittings/attachmentProfile";
|
|
|
export default {
|
|
|
- components: { TemplatePage },
|
|
|
+ components: { TemplatePage, ImageUpload },
|
|
|
mixins: [import_mixin],
|
|
|
data() {
|
|
|
return {
|
|
|
// 事件组合
|
|
|
- optionsEvensGroup: [],
|
|
|
+ optionsEvensGroup: [
|
|
|
+ [
|
|
|
+ [
|
|
|
+ {
|
|
|
+ name: '新建',
|
|
|
+ click: this.addData
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ [
|
|
|
+ {
|
|
|
+ name: '批量上架',
|
|
|
+ click: ()=>{
|
|
|
+ this.updateStatus('ON')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ [
|
|
|
+ {
|
|
|
+ name: '批量下架',
|
|
|
+ click: ()=>{
|
|
|
+ this.updateStatus('OFF')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ ],[
|
|
|
+ [
|
|
|
+ {
|
|
|
+ name: '下载导入模板',
|
|
|
+ click: this.handleDownload
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ {
|
|
|
+ name: '导入模板',
|
|
|
+ render: () => {
|
|
|
+ return this.importButton(listImport, '导入模板')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ ],
|
|
|
+ ],
|
|
|
// 表格属性
|
|
|
tableAttributes: {
|
|
|
// 启用勾选列
|
|
|
- selectColumn: false
|
|
|
+ selectColumn: true
|
|
|
},
|
|
|
// 表格事件
|
|
|
tableEvents: {
|
|
@@ -52,13 +88,14 @@ export default {
|
|
|
recordSelected: [],
|
|
|
/** 表单变量 */
|
|
|
formDialogType: 0,
|
|
|
- formDialogTitles: ["审核", "详情"],
|
|
|
+ formDialogTitles: ["新增","编辑", "详情"],
|
|
|
formDialog: false,
|
|
|
formData: {
|
|
|
- type: '工程师',
|
|
|
- examineRemark: ''
|
|
|
- },
|
|
|
- examineStatus: ''
|
|
|
+ companyName: JSON.parse(localStorage.getItem('greemall_user')).companyName,
|
|
|
+ brandList: [],
|
|
|
+ categoryList: [],
|
|
|
+ partsUnitName: ''
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -70,108 +107,226 @@ export default {
|
|
|
return [{
|
|
|
md: 12,
|
|
|
isShow: true,
|
|
|
- name: 'el-select',
|
|
|
- options: [{label: '待审核', value: 'WAIT'},{label: '驳回', value: 'FAIL'},{label: '通过', value: 'OK'}],
|
|
|
+ name: 'el-input',
|
|
|
attributes: { placeholder: '请输入', disabled: true },
|
|
|
formItemAttributes: {
|
|
|
- label: '审核状态',
|
|
|
- prop: 'examineStatus',
|
|
|
- rules: []
|
|
|
+ label: '所属商户',
|
|
|
+ prop: 'companyName',
|
|
|
+ rules: [...required]
|
|
|
},
|
|
|
}, {
|
|
|
md: 12,
|
|
|
isShow: true,
|
|
|
+ name: 'slot-component',
|
|
|
+ attributes: { },
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '状态',
|
|
|
+ prop: 'stateEnum',
|
|
|
+ rules: [...required]
|
|
|
+ },
|
|
|
+ render: (h, { props, onInput }) => {
|
|
|
+ var { value } = props
|
|
|
+ return (
|
|
|
+ <el-radio-group v-model={this.formData.stateEnum}>
|
|
|
+ <el-radio disabled={this.formDialogType==2} label="ON">上架</el-radio>
|
|
|
+ <el-radio disabled={this.formDialogType==2} label="OFF">下架</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ md: 12,
|
|
|
+ isShow: true,
|
|
|
name: 'el-input',
|
|
|
- attributes: { disabled: true },
|
|
|
+ attributes: { placeholder: '请输入配件名称', },
|
|
|
formItemAttributes: {
|
|
|
- label: '用户类型',
|
|
|
- prop: 'type',
|
|
|
- rules: []
|
|
|
+ label: '配件名称',
|
|
|
+ prop: 'goodsName',
|
|
|
+ rules: [...required]
|
|
|
}
|
|
|
}, {
|
|
|
md: 12,
|
|
|
isShow: true,
|
|
|
+ name: 'el-select-add',
|
|
|
+ options: [{
|
|
|
+ label: `通用`,
|
|
|
+ value: "通用"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: `格力`,
|
|
|
+ value: "格力"
|
|
|
+ },{
|
|
|
+ label: `美的`,
|
|
|
+ value: "美的"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: `海尔`,
|
|
|
+ value: "海尔"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: `华凌`,
|
|
|
+ value: "华凌"
|
|
|
+ }],
|
|
|
+ attributes: { placeholder: '请选择单位',filterable: true },
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '单位',
|
|
|
+ prop: 'partsUnitName',
|
|
|
+ rules: [...required]
|
|
|
+ },
|
|
|
+ events: {
|
|
|
+ change(e){
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ md: 12,
|
|
|
+ isShow: true,
|
|
|
name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入', disabled: true },
|
|
|
+ attributes: { placeholder: '请输入配件代码' },
|
|
|
formItemAttributes: {
|
|
|
- label: '用户名称',
|
|
|
- prop: 'nickName',
|
|
|
- rules: []
|
|
|
+ label: '配件代码',
|
|
|
+ prop: 'goodsCode',
|
|
|
+ rules: [...required]
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ md: 12,
|
|
|
+ isShow: true,
|
|
|
+ name: 'slot-component',
|
|
|
+ attributes: {},
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '收费类型',
|
|
|
+ prop: 'venderType',
|
|
|
+ rules: [...required]
|
|
|
+ },
|
|
|
+ render: (h, { props, onInput }) => {
|
|
|
+ var { value } = props
|
|
|
+ return (
|
|
|
+ <el-radio-group v-model={this.formData.venderType}>
|
|
|
+ <el-radio disabled={this.formDialogType==2} label="P">配件物料</el-radio>
|
|
|
+ <el-radio disabled={this.formDialogType==2} label="A">服务收费</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ md: 24,
|
|
|
+ isShow: true,
|
|
|
+ name: 'el-checkbox-add',
|
|
|
+ attributes: {},
|
|
|
+ options: [{
|
|
|
+ label: `通用`,
|
|
|
+ value: "通用"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: `格力`,
|
|
|
+ value: "格力"
|
|
|
+ },{
|
|
|
+ label: `美的`,
|
|
|
+ value: "美的"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: `海尔`,
|
|
|
+ value: "海尔"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: `华凌`,
|
|
|
+ value: "华凌"
|
|
|
+ }],
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '适用品牌',
|
|
|
+ prop: 'brandList',
|
|
|
+ rules: [...required]
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ md: 24,
|
|
|
+ isShow: true,
|
|
|
+ name: 'el-checkbox-add',
|
|
|
+ attributes: {},
|
|
|
+ options: [{
|
|
|
+ label: `通用`,
|
|
|
+ value: "通用"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: `家用空调`,
|
|
|
+ value: "家用空调"
|
|
|
+ }],
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '适用产品大类',
|
|
|
+ prop: 'categoryList',
|
|
|
+ rules: [...required]
|
|
|
}
|
|
|
}, {
|
|
|
md: 12,
|
|
|
isShow: true,
|
|
|
name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入', disabled: true },
|
|
|
+ attributes: { placeholder: '请输入', type: 'number' },
|
|
|
formItemAttributes: {
|
|
|
- label: '联系电话',
|
|
|
- prop: 'mobile',
|
|
|
- rules: []
|
|
|
+ label: '销售价格',
|
|
|
+ prop: 'www',
|
|
|
+ rules: [...required]
|
|
|
}
|
|
|
}, {
|
|
|
md: 12,
|
|
|
isShow: true,
|
|
|
name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入', disabled: true },
|
|
|
+ attributes: { placeholder: '请输入', type: 'number' },
|
|
|
formItemAttributes: {
|
|
|
- label: '身份证号码',
|
|
|
- prop: 'idCard',
|
|
|
- rules: []
|
|
|
+ label: '收费标准',
|
|
|
+ prop: 'email',
|
|
|
+ rules: [...email]
|
|
|
}
|
|
|
}, {
|
|
|
md: 12,
|
|
|
isShow: true,
|
|
|
- name: 'slot-component',
|
|
|
- attributes: { },
|
|
|
+ name: 'el-input',
|
|
|
+ attributes: { placeholder: '请输入', type: 'number' },
|
|
|
formItemAttributes: {
|
|
|
- label: '身份证',
|
|
|
- prop: 'idCardImg',
|
|
|
- rules: []
|
|
|
- },
|
|
|
- render: (h, { props, onInput }) => {
|
|
|
- var { value } = props
|
|
|
- return (
|
|
|
- <el-image src={this.formData.idCardImg} style='width: 120px;height:120px' preview-src-list={[this.formData.idCardImg]} fit="fit"></el-image>
|
|
|
- )
|
|
|
- }
|
|
|
+ label: '自有库存师傅分账金额',
|
|
|
+ prop: 'telNo',
|
|
|
+ rules: [...required]
|
|
|
+ }
|
|
|
}, {
|
|
|
md: 12,
|
|
|
isShow: true,
|
|
|
name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入', disabled: true },
|
|
|
+ attributes: { placeholder: '请输入', type: 'number' },
|
|
|
formItemAttributes: {
|
|
|
- label: '所属商户',
|
|
|
- prop: 'companyName',
|
|
|
- rules: []
|
|
|
+ label: '外购辅材师傅分账金额',
|
|
|
+ prop: 'faxNo',
|
|
|
+ rules: [...required]
|
|
|
}
|
|
|
}, {
|
|
|
md: 12,
|
|
|
isShow: true,
|
|
|
name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入', disabled: true },
|
|
|
+ attributes: { placeholder: '请输入', type: 'number' },
|
|
|
formItemAttributes: {
|
|
|
- label: '入驻网点',
|
|
|
- prop: 'websitName',
|
|
|
- rules: []
|
|
|
+ label: '自有库存网点分账金额',
|
|
|
+ prop: 'telNo',
|
|
|
+ rules: [...required]
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ md: 12,
|
|
|
+ isShow: true,
|
|
|
+ name: 'el-input',
|
|
|
+ attributes: { placeholder: '请输入', type: 'number' },
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '外购辅材网点分账金额',
|
|
|
+ prop: 'faxNo',
|
|
|
+ rules: [...required]
|
|
|
}
|
|
|
}, {
|
|
|
md: 24,
|
|
|
isShow: true,
|
|
|
name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入',type: "textarea", disabled: this.formData.examineStatus == 'WAIT' ? false:true },
|
|
|
+ attributes: { placeholder: '请输入备注内容',type: "textarea", rows: 5 },
|
|
|
formItemAttributes: {
|
|
|
label: '备注',
|
|
|
- prop: 'examineRemark',
|
|
|
+ prop: 'remark',
|
|
|
rules: []
|
|
|
}
|
|
|
}]
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- // 切换状态
|
|
|
- changeType(val) {
|
|
|
- this.$refs.pageRef.refreshList()
|
|
|
- },
|
|
|
// 列表请求函数
|
|
|
getList(p) {
|
|
|
try {
|
|
@@ -207,58 +362,16 @@ export default {
|
|
|
operation(h, { row, index, column }) {
|
|
|
return (
|
|
|
<div class='operation-btns'>
|
|
|
- {row.examineStatus == 'WAIT' ? <el-button type="text" onClick={() => {
|
|
|
- getMemberDetail({ id: row.id }).then(res => {
|
|
|
- Object.assign(this.formData, res.data)
|
|
|
- this.formDialogType = 0
|
|
|
- this.openForm()
|
|
|
- })
|
|
|
- }}>审核</el-button> : null}
|
|
|
- <el-button type="text" onClick={() => {
|
|
|
- getMemberDetail({ id: row.id }).then(res => {
|
|
|
- Object.assign(this.formData, res.data)
|
|
|
- this.formDialogType = 1
|
|
|
- this.openForm()
|
|
|
- })
|
|
|
- }}>详情</el-button>
|
|
|
- <el-button type="text" onClick={() => {
|
|
|
- this.$confirm('请确认是否设为分销员, 是否继续?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- memberInner({
|
|
|
- type: 'SERVICE',
|
|
|
- userIds: row.userId
|
|
|
- }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$message({ type: 'success', message: '设为分销员成功!' })
|
|
|
- this.$refs.pageRef.refreshList()
|
|
|
- } else {
|
|
|
- this.$message.error(res.msg);
|
|
|
- }
|
|
|
- })
|
|
|
- });
|
|
|
- }}>设为分销员</el-button>
|
|
|
<el-button type="text" onClick={() => {
|
|
|
- this.$confirm('请确认是否设为客户, 是否继续?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- memberInner({
|
|
|
- type: 'GENERAL',
|
|
|
- userIds: row.userId
|
|
|
- }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$message({ type: 'success', message: '设为客户成功!' })
|
|
|
- this.$refs.pageRef.refreshList()
|
|
|
- } else {
|
|
|
- this.$message.error(res.msg);
|
|
|
- }
|
|
|
- })
|
|
|
- });
|
|
|
- }}>设为客户</el-button>
|
|
|
+ getDetail({ id: row.venderId }).then(res => {
|
|
|
+ Object.assign(this.formData, res.data,{
|
|
|
+ imageUrl:res.data?.imageUrl? res.data?.imageUrl?.split(",").map(item=>({url:item})) : []
|
|
|
+ })
|
|
|
+ console.log(this.formData)
|
|
|
+ this.formDialogType = 1
|
|
|
+ this.openForm()
|
|
|
+ })
|
|
|
+ }}>编辑</el-button>
|
|
|
</div>
|
|
|
)
|
|
|
},
|
|
@@ -274,37 +387,47 @@ export default {
|
|
|
this.$data.formData = this.$options.data().formData
|
|
|
this.formDialog = false
|
|
|
},
|
|
|
- audit(examineStatusEnum){
|
|
|
- memberAudit({
|
|
|
- examineStatusEnum,
|
|
|
- examineRemark: this.formData.examineRemark,
|
|
|
- id: this.formData.id
|
|
|
- }).then(res => {
|
|
|
- this.$message({ type: 'success', message: '审核成功!' })
|
|
|
- this.formCancel()
|
|
|
- this.$refs.pageRef.refreshList()
|
|
|
- })
|
|
|
- },
|
|
|
- memberInner(type){
|
|
|
- memberInner({
|
|
|
- type,
|
|
|
- userIds: this.formData.userId
|
|
|
- }).then(res => {
|
|
|
- this.$message({ type: 'success', message: '设置成功!' })
|
|
|
- this.$refs.pageRef.refreshList()
|
|
|
- })
|
|
|
+ updateStatus(stateEnum){
|
|
|
+ if(this.recordSelected.length == 0){
|
|
|
+ return this.$message.warning('请至少勾选一条数据!');
|
|
|
+ }
|
|
|
+ console.log(this.recordSelected)
|
|
|
+ this.$confirm(`请确认是否${stateEnum=='OFF'?'下架':'上架'}该配件, 是否继续?`, '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ memberInner({
|
|
|
+ stateEnum,
|
|
|
+ ids: this.recordSelected.map(item=>{return item.goodsId}).join(',')
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message({ type: 'success', message: `${stateEnum=='ON'?'下架':'上架'}成功!` })
|
|
|
+ this.$refs.pageRef.refreshList()
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
},
|
|
|
formConfirm() {
|
|
|
this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
|
|
|
if (valid) {
|
|
|
- ([memberAudit][this.formDialogType])(this.formData).then(res => {
|
|
|
+ ([add, edit][this.formDialogType])({
|
|
|
+ ...this.formData,
|
|
|
+ imageUrl:this.formData.imageUrl.map(item=>item.url).join(",")
|
|
|
+ }).then(res => {
|
|
|
this.$message({ type: 'success', message: `${this.formDialogTitles[this.formDialogType]}成功!` })
|
|
|
this.formCancel()
|
|
|
this.$refs.pageRef.refreshList()
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
- }
|
|
|
+ },
|
|
|
+ // 下载导入模版
|
|
|
+ handleDownload() {
|
|
|
+ // downloadFiles('charging/standard/download');
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
</script>
|