Bläddra i källkod

Merge branch 'feature/pyh_辅配件提交优化'

# Conflicts:
#	src/views/auxiliaryFittings/salesManagement/components/attachmentSalesOrderDetail.vue
pengyh 1 år sedan
förälder
incheckning
10c7a5313c

+ 9 - 0
src/api/auxiliaryFittings/attachmentNewReturn.js

@@ -52,4 +52,13 @@ export function getTypeList(data) {
     method: 'post',
     data
   })
+}
+
+// 配件库存数据
+export function getAttachmentList(data) {
+  return request({
+    url: `/websit/stock/listP`,
+    method: 'post',
+    data
+  })
 }

+ 16 - 0
src/api/auxiliaryFittings/auxiliarySalesOrder.js

@@ -18,6 +18,14 @@ export function pageExport(data, name) {
   })
 }
 
+export function listImportM(data) {
+	return handleImport('/websit/sales/m/import', data.formdata, data.id || '')
+}
+
+export function listImportP(data) {
+	return handleImport('/websit/sales/p/import', data.formdata, data.id || '')
+}
+
 // 新增
 export function add(data) {
   return request({
@@ -110,4 +118,12 @@ export function getProjectCollectionList(params) {
     method: 'post',
     params
   })
+}
+
+export function queryImportResult(params) {
+  return request({
+    url: `/websit/sales/query/import/result`,
+    method: 'post',
+    params
+  })
 }

+ 9 - 0
src/api/auxiliaryFittings/auxiliarySalesReturnOrder.js

@@ -52,4 +52,13 @@ export function getTypeList(data) {
     method: 'post',
     data
   })
+}
+
+// 库存数据
+export function getGoodsList(params) {
+  return request({
+    url: `/websit/sales/exist/stock/goodsList`,
+    method: 'post',
+    params
+  })
 }

+ 1 - 1
src/components/template/import_mixin.js

@@ -25,7 +25,7 @@ export default {
             }
             func({ formdata })
               .then(res => {
-                fun2 && fun2()
+                fun2 && fun2(res)
                 this.$refs.pageRef.refreshList()
                 loading.close()
                 this.$message({

+ 2 - 2
src/views/auxiliaryFittings/attachmentProfile/index.vue

@@ -229,9 +229,9 @@ export default {
 				md: 6,
 				isShow: true,
 				name: 'el-input',
-				attributes: { placeholder: '请输入配件码' },
+				attributes: { placeholder: '请输入配件码' },
 				formItemAttributes: {
-					label: '配件码',
+					label: '配件码',
 					prop: 'goodsCode',
 					rules: [...required]
 				}

+ 84 - 2
src/views/auxiliaryFittings/salesManagement/attachmentSalesOrder/index.vue

@@ -20,6 +20,18 @@
 				:title="'配件销售订单' + formDialogTitles[formDialogType]"></attachmentSalesOrderDetail>
 		</div>
 		<print-preview ref="preView" @initPrint="handleInitPrint" @refreshList="handleRefreshList" />
+
+		<el-dialog
+			title="导入结果"
+			:visible.sync="showImportResult"
+			width="600px">
+			<div class="importResultList">
+				<div class="item" v-for="(item, index) in importResultList" :key="index">{{item}}</div>
+			</div>
+			<span slot="footer" class="dialog-footer">
+				<el-button @click="showImportResult = false">关 闭</el-button>
+			</span>
+		</el-dialog>
 	</div>
 </template>
 
@@ -30,11 +42,12 @@ import import_mixin from '@/components/template/import_mixin.js'
 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, submit } from "@/api/auxiliaryFittings/auxiliarySalesOrder";
+import { listPageV2, pageExport, getDetail, add, edit, submit, listImportP, queryImportResult } from "@/api/auxiliaryFittings/auxiliarySalesOrder";
 import { getWebsit } from "@/api/customerManagement";
 import printPreview from '../components/preview.vue'
 import { disAutoConnect, hiprint } from 'vue-plugin-hiprint'
 import operation_mixin from '@/components/template/operation_mixin.js'
+import { commonTemplateDownload } from '@/api/common.js'
 disAutoConnect()
 export default {
 	components: { TemplatePage, ImageUpload, attachmentSalesOrderDetail, printPreview },
@@ -62,6 +75,9 @@ export default {
 			isShowTab: true,
 			orderEnginBaseId: '',
 			payQrcode: JSON.parse(localStorage.getItem('greemall_user')).payQrcode,
+
+			showImportResult: false,
+			importResultList: [],
 		}
 	},
 	computed: {
@@ -74,6 +90,26 @@ export default {
 							click: this.addData
 						}),
 					]
+				],
+				[
+					[
+						this.optionsEvensAuth("imp", {
+							render: () => {
+							  return this.importButton(listImportP, '导入', null, null, (res) => {
+									this.$nextTick(() => {
+										this.checkImportResult(res.data);
+									})
+								})
+							}
+						})
+					],
+					[
+						this.optionsEvensAuth("template", {
+							click: () => {
+								this.handleDownload()
+							}
+						})
+					]
 				]
 			]
 		},
@@ -381,7 +417,46 @@ export default {
 		},
 		// 下载导入模版
 		handleDownload() {
-			// downloadFiles('charging/standard/download');
+			commonTemplateDownload({ name: '配件销售订单导入模板.xlsx' }, `${this.$route.meta.title}`).then(res => {
+			    this.$message({
+			        message: '下载成功',
+			        type: 'success'
+			    })
+			}).catch(err => {
+			    this.$message.error('下载失败')
+			})
+		},
+
+		// 查询导入结果
+		checkImportResult(importBatchId) {
+			const loading = this.$loading({
+				lock: true,
+				text: '正在查询导入结果',
+				spinner: 'el-icon-loading',
+				background: 'rgba(0, 0, 0, 0.7)'
+			})
+			queryImportResult({
+				importBatchId
+			}).then(result => {
+				if(result.data.waitCount == 0){
+					clearInterval(this.timer)
+					loading.close();
+					// result.data.errList = ['测试测试1', '测试测试1']
+					if(result.data?.errList?.length > 0) {
+						this.importResultList = result.data.errList;
+						this.showImportResult = true;
+					}else {
+						
+					}
+				}else {
+					this.timer = setTimeout(()=>{
+						this.checkImportResult(importBatchId);
+					}, 2000)
+				}
+			}).catch(err => {
+				loading.close();
+				clearInterval(this.timer)
+			})
 		},
 	}
 }
@@ -395,4 +470,11 @@ export default {
 .tab {
 	padding: 20px 20px 0 20px;
 }
+
+.importResultList {
+	.item {
+		font-size: 16px;
+		margin-bottom: 10px;
+	}
+}
 </style>

+ 84 - 2
src/views/auxiliaryFittings/salesManagement/auxiliarySalesOrder/index.vue

@@ -20,6 +20,18 @@
 				:title="'辅材销售订单' + formDialogTitles[formDialogType]"></auxiliarySalesOrderDetail>
 		</div>
 		<print-preview ref="preView" @initPrint="handleInitPrint" @refreshList="handleRefreshList" />
+
+		<el-dialog
+			title="导入结果"
+			:visible.sync="showImportResult"
+			width="600px">
+			<div class="importResultList">
+				<div class="item" v-for="(item, index) in importResultList" :key="index">{{item}}</div>
+			</div>
+			<span slot="footer" class="dialog-footer">
+				<el-button @click="showImportResult = false">关 闭</el-button>
+			</span>
+		</el-dialog>
 	</div>
 </template>
 
@@ -30,11 +42,12 @@ import import_mixin from '@/components/template/import_mixin.js'
 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, submit } from "@/api/auxiliaryFittings/auxiliarySalesOrder";
+import { listPageV2, pageExport, getDetail, add, edit, submit, listImportM, queryImportResult } from "@/api/auxiliaryFittings/auxiliarySalesOrder";
 import { getWebsit } from "@/api/customerManagement";
 import printPreview from '../components/preview.vue'
 import { disAutoConnect, hiprint } from 'vue-plugin-hiprint'
 import operation_mixin from '@/components/template/operation_mixin.js'
+import { commonTemplateDownload } from '@/api/common.js'
 disAutoConnect()
 export default {
 	components: { TemplatePage, ImageUpload, auxiliarySalesOrderDetail, printPreview },
@@ -62,6 +75,9 @@ export default {
 			isShowTab: true,
 			orderEnginBaseId: '',
 			payQrcode: JSON.parse(localStorage.getItem('greemall_user')).payQrcode,
+
+			showImportResult: false,
+			importResultList: [],
 		}
 	},
 	computed: {
@@ -74,6 +90,26 @@ export default {
 							click: this.addData
 						}),
 					]
+				],
+				[
+					[
+						this.optionsEvensAuth("imp", {
+							render: () => {
+							  return this.importButton(listImportM, '导入', null, null, (res) => {
+									this.$nextTick(() => {
+										this.checkImportResult(res.data);
+									})
+								})
+							}
+						})
+					],
+					[
+						this.optionsEvensAuth("template", {
+							click: () => {
+								this.handleDownload()
+							}
+						})
+					]
 				]
 			]
 		},
@@ -378,7 +414,46 @@ export default {
 		},
 		// 下载导入模版
 		handleDownload() {
-			// downloadFiles('charging/standard/download');
+			commonTemplateDownload({ name: '辅材销售订单导入模板.xlsx' }, `${this.$route.meta.title}`).then(res => {
+			    this.$message({
+			        message: '下载成功',
+			        type: 'success'
+			    })
+			}).catch(err => {
+			    this.$message.error('下载失败')
+			})
+		},
+
+		// 查询导入结果
+		checkImportResult(importBatchId) {
+			const loading = this.$loading({
+				lock: true,
+				text: '正在查询导入结果',
+				spinner: 'el-icon-loading',
+				background: 'rgba(0, 0, 0, 0.7)'
+			})
+			queryImportResult({
+				importBatchId
+			}).then(result => {
+				if(result.data.waitCount == 0){
+					clearInterval(this.timer)
+					loading.close();
+					// result.data.errList = ['测试测试1', '测试测试1']
+					if(result.data?.errList?.length > 0) {
+						this.importResultList = result.data.errList;
+						this.showImportResult = true;
+					}else {
+						
+					}
+				}else {
+					this.timer = setTimeout(()=>{
+						this.checkImportResult(importBatchId);
+					}, 2000)
+				}
+			}).catch(err => {
+				loading.close();
+				clearInterval(this.timer)
+			})
 		},
 	}
 }
@@ -392,4 +467,11 @@ export default {
 .tab {
 	padding: 20px 20px 0 20px;
 }
+
+.importResultList {
+	.item {
+		font-size: 16px;
+		margin-bottom: 10px;
+	}
+}
 </style>

+ 206 - 9
src/views/auxiliaryFittings/salesManagement/components/attachmentNewReturnDetail.vue

@@ -81,11 +81,14 @@
 								</el-radio-group>
 							</el-form-item>
 						</el-col>
-						<el-col :span="8">
+						<el-col :span="7">
 							<el-form-item label="销售订单号" :required="true">
-								<el-input type="text" v-model="formData.salesId" :disabled="formType == 2" @change="getDetail" placeholder="请输入销售订单号"></el-input>
+								<el-input type="text" v-model="formData.salesId" @change="getDetail" disabled placeholder="请输入销售订单号"></el-input>
 							</el-form-item>
 						</el-col>
+						<el-col :span="1">
+							<el-button v-if="formType != 2" size="small" type="primary"  @click="isShowNo = true;getOrderList();">选择</el-button>
+						</el-col>
 						<el-col :span="5">
 							<el-form-item label="销售金额">
 								<el-input type="text" :value="formData.totalAmount" disabled></el-input>
@@ -138,7 +141,7 @@
 								</el-form-item>
 							</el-col>
 							<el-col :span="24">
-								<el-form-item label="项目地址" prop="province" :required="true">
+								<el-form-item label="项目地址" :required="true">
 									<el-row>
 										<el-col :span="5" style="margin-right: 12px;">
 											<el-input type="text" v-model="formData.province" disabled placeholder="请选择省"></el-input>
@@ -156,7 +159,7 @@
 								</el-form-item>
 							</el-col>
 							<el-col :span="24">
-								<el-form-item label="" prop="address">
+								<el-form-item label="">
 									<el-row :gutter="20">
 										<el-col :span="24">
 											<el-input type="text" v-model="formData.address" :disabled="true" placeholder="详细地址"></el-input>
@@ -263,6 +266,134 @@
 			<h3>扫二维码支付</h3>
 			<el-image :src="payCodeUrl" fit="fit"></el-image>
 		</el-dialog>
+		<!-- 选择销售订单号 -->
+		<el-dialog title="选择销售订单" :visible.sync="isShowNo" width="80%" :close-on-click-modal="false" :modal-append-to-body="false" @close="close">
+			<el-form ref="formData1" :model="formData1" label-width="110px" size="small" label-position="left">
+				<el-row :gutter="20">
+					<el-col :span="8">
+						<el-form-item label="网点名称" prop="websit_id">
+							<el-select v-model="formData1.websit_id" @change="changeWebsit" placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in websitList"
+							      :key="item.websitId"
+							      :label="item.name"
+							      :value="item.websitId">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-form-item label="师傅姓名" prop="worker_name">
+							<el-select v-model="formData1.worker_name" @focus="()=>{
+								if(!this.formData1.websit_id){return this.$message.warning('请先选择网点名称!');}
+							}" filterable placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in workerList"
+							      :key="item.id"
+							      :label="item.nickName + '-' + item.mobile"
+							      :value="item.nickName">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-form-item label="师傅联系电话" prop="worker_mobile">
+							<el-input type="text" v-model="formData1.worker_mobile" placeholder="请输入"></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-form-item label="物料名称" prop="goods" align="center">
+							<el-select v-model="formData1.goods" @focus="()=>{
+								if(!this.formData1.websit_id){return this.$message.warning('请先选择网点名称!');}
+							}" value-key="goodsId" placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in goodsList"
+							      :key="item.goodsId"
+							      :label="item.goodsName"
+							      :value="item">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :span="8">
+						<el-form-item label="规格型号" align="center">
+							<el-select v-model="formData1.goods" @focus="()=>{
+								if(!this.formData1.websit_id){return this.$message.warning('请先选择网点名称!');}
+							}" value-key="goodsId" placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in goodsList"
+							      :key="item.goodsId"
+							      :label="item.goodsSpecification"
+							      :value="item">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col> -->
+					<el-col :span="16">
+						<el-row type="flex" justify="end">
+							<el-col :span="4">
+								<el-button size="small" @click="resetScreenForm()">清空</el-button>
+								<el-button size="small" type="primary" @click="submitScreenForm()">搜索</el-button>
+							</el-col>
+						</el-row>
+					</el-col>
+				</el-row>
+			</el-form>
+			<div class="clearfix">
+				<span>订单信息</span>
+			</div>
+			<div class="table">
+				<el-table ref="treeTable" :data="orderList" element-loading-text="Loading" @select="handleSelectionChange" @row-click="handleSelectionChange('',$event)" border fit highlight-current-row stripe style="max-height: 380px;overflow-y: auto;">
+					<el-table-column type="selection" width="40"></el-table-column>
+					<el-table-column prop="salesId" align="center" label="销售单号" width="140"></el-table-column>
+					<el-table-column prop="" align="center" label="单据状态" width="120">已支付,已提货</el-table-column>
+					<el-table-column prop="websitName" align="center" label="网点名称" width="140"></el-table-column>
+					<el-table-column prop="" align="center" label="购买方">
+						<template slot-scope="scope">
+							{{scope.row.buyPeople == 'WORKER'?'内部师傅':'客户'}}
+						</template>
+					</el-table-column>
+					<el-table-column prop="workerName" align="center" label="师傅姓名"></el-table-column>
+					<el-table-column prop="workerMobile" align="center" label="师傅联系电话" width="120"></el-table-column>
+					<el-table-column prop="salesType" align="center" label="销售类型"></el-table-column>
+					<el-table-column prop="salesTime" align="center" label="销售日期" width="160"></el-table-column>
+					<el-table-column prop="totalAmount" align="center" label="订单金额"></el-table-column>
+					<el-table-column prop="" align="center" label="订单来源">
+						<template slot-scope="scope">
+							{{scope.row.source == 'ONLINE'?'在线订单':'自建订单'}}
+						</template>
+					</el-table-column>
+					<el-table-column prop="payType" align="center" label="支付方式">
+						<template slot-scope="scope">
+							{{scope.row.payType == 'CASH'?'现金':scope.row.payType == 'WECHAT'?'微信':'工程支付'}}
+						</template>
+					</el-table-column>
+					<el-table-column prop="payTime" align="center" label="支付时间" width="160"></el-table-column>
+					<el-table-column prop="payNo" align="center" label="支付单号" width="160"></el-table-column>
+					<el-table-column prop="createBy" align="center" label="创建人" width="160"></el-table-column>
+					<el-table-column prop="createTime" align="center" label="创建时间" width="160"></el-table-column>
+					<el-table-column prop="updateBy" align="center" label="审核人" width="160"></el-table-column>
+					<el-table-column prop="updateTime" align="center" label="审核时间" width="160"></el-table-column>
+				</el-table>
+				<div class="pagination clearfix">
+					<div class="fr">
+						<el-pagination
+							@size-change="handleSizeChange"
+							@current-change="handleCurrentChange"
+							:current-page="pageNum"
+							:page-sizes="[10, 20, 30, 50]"
+							:page-size="pageSize"
+							layout="total, sizes, prev, pager, next, jumper"
+							:total="listTotal"
+						></el-pagination>
+					</div>
+				</div>
+				<div slot="footer" class="dialog-footer" style="margin-top: 10px;">
+					<el-button size="small" @click="isShowNo = false">取 消</el-button>
+					<el-button size="small" type="primary" @click="confirmOrder()">确定</el-button>
+				</div>
+			</div>
+		</el-dialog>
 	</div>
 </template>
 
@@ -271,8 +402,9 @@
 	import { lbsAmapRegion } from '@/api/common.js'
 	import geographicalPosi from '@/components/geographicalPosi/index.vue'
 	import ImageUpload from '@/components/file-upload'
-	import { getWorker, getCategory, getGoods, getDetail } from "@/api/auxiliaryFittings/auxiliarySalesOrder";
+	import { listPageV2, getWorker, getCategory, getGoods, getDetail } from "@/api/auxiliaryFittings/auxiliarySalesOrder";
 	import { add, edit, getNewDetail } from "@/api/auxiliaryFittings/attachmentNewReturn";
+	import { getGoodsList } from "@/api/auxiliaryFittings/auxiliarySalesReturnOrder";
 	export default {
 		components: { ImageUpload, geographicalPosi },
 		props: ['id','title','formType'],
@@ -281,6 +413,8 @@
 				dataList: [],
 				websitList: [],
 				workerList: [],
+				orderList: [],
+				goodsList: [],
 				mainList: [],
 				isPay: false,
 				payCodeUrl: '',
@@ -317,6 +451,14 @@
 					lng: '',
 					orderEnginBaseId: '',
 				},
+				formData1: {
+					websit_id: '',
+					worker_name: '',
+					worker_mobile: '',
+					goods: {},
+					goodsName: '',
+					goodsSpecification: ''
+				},
 				isEdit: 0,
 				companyName: JSON.parse(localStorage.getItem('greemall_user')).companyName,
 				rules: {
@@ -334,7 +476,11 @@
 						{ required: true, message: '请输入师傅联系电话', trigger: 'blur' },
 						{ pattern:/^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/, message: '电话号码格式不正确', trigger: 'blur' }
 					],
-				}
+				},
+				isShowNo: false,
+				pageNum: 1,
+				pageSize: 10,
+				listTotal: 0
 			};
 		},
 		computed: {},
@@ -390,11 +536,62 @@
 					this.websitList = res.data
 				})
 			},
+			close(){
+				this.$refs.formData1.resetFields();
+			},
+			confirmOrder(){
+				this.isShowNo = false
+				this.getDetail(this.selectedRow.salesId)
+			},
+			getOrderList(){
+				listPageV2({pageNum: this.pageNum,pageSize: this.pageSize,params: [{param: 'a.flag',compare: '=',value: 'PAY_TAKE'},{param: "a.goods_type", compare: "=", value: "P"},{param: 'a.websit_id',compare: '=',value: this.formData1.websit_id},{param: 'a.worker_name',compare: '=',value: this.formData1.worker_name},{param: 'a.worker_mobile',compare: '=',value: this.formData1.worker_mobile}], goodsName: this.formData1.goods.goodsName, goodsSpecification: this.formData1.goods.goodsSpecification}).then(res => {
+					this.orderList = res.data.records
+					this.listTotal = res.data.total
+				})
+			},
+			getGoodsList(){
+				getGoodsList({
+					type: 'P',
+					websitId: this.formData1.websit_id
+				}).then(res => {
+					this.goodsList = res.data
+				})
+			},
+			handleSelectionChange (selection, row) {
+				this.$refs.treeTable.clearSelection()
+			 	 // 这里因为需求做的是必选一个,如有其他需求可做调整
+				this.$refs.treeTable.toggleRowSelection(row, true)    
+				this.selectedRow = row
+			},
+			// 更改每页数量
+			handleSizeChange(val) {
+				this.pageSize = val;
+				this.pageNum = 1;
+				this.getOrderList();
+			},
+			// 更改当前页
+			handleCurrentChange(val) {
+				this.pageNum = val;
+				this.getOrderList();
+			},
+			// 提交筛选表单
+			submitScreenForm() {
+				this.pageNum = 1;
+				this.getOrderList();
+			},
+			
+			// 重置筛选表单
+			resetScreenForm() {
+				this.$refs.formData1.resetFields();
+				this.pageNum = 1;
+				this.getOrderList();
+			},
 			changeWebsit(e){
-				this.formData.websitId = e.websitId
-				this.formData.websitName = e.name
+				// this.formData.websitId = e.websitId
+				// this.formData.websitName = e.name
 				this.getWorker()
-				this.getCategory(e.websitId)
+				this.getGoodsList()
+				// this.getCategory(e.websitId)
 			},
 			async getGoods(goodsName,type){
 				const that = this

+ 239 - 10
src/views/auxiliaryFittings/salesManagement/components/attachmentOldReturnDetail.vue

@@ -81,11 +81,14 @@
 								</el-radio-group>
 							</el-form-item>
 						</el-col>
-						<el-col :span="8">
+						<el-col :span="7">
 							<el-form-item label="销售订单号" :required="true">
-								<el-input type="text" v-model="formData.salesId" :disabled="formType == 2" @change="getDetail" placeholder="请输入销售订单号"></el-input>
+								<el-input type="text" v-model="formData.salesId" @change="getDetail" disabled placeholder="请输入销售订单号"></el-input>
 							</el-form-item>
 						</el-col>
+						<el-col :span="1">
+							<el-button v-if="formType != 2" size="small" type="primary"  @click="isShowNo = true;getOrderList();">选择</el-button>
+						</el-col>
 						<el-col :span="5">
 							<el-form-item label="销售金额">
 								<el-input type="text" :value="formData.totalAmount" disabled></el-input>
@@ -283,10 +286,22 @@
 							<el-input type="number" v-model="scope.row.phone" :disabled="formType == 2" placeholder="请输入"></el-input>
 						</template>
 					</el-table-column>
-					<el-table-column label="配件名称" align="center">
+					<!-- <el-table-column label="配件名称" align="center">
 						<template slot-scope="scope">
 							<el-input type="text" v-model="scope.row.partsName" :disabled="formType == 2" placeholder="请输入"></el-input>
 						</template>
+					</el-table-column> -->
+					<el-table-column label="配件名称" align="center">
+						<template slot-scope="scope">
+							<el-select v-model="scope.row.goods" @change="changeGoods1" value-key="goodsId" :disabled="isEdit != scope.$index || formType == 2" placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in scope.row.goodsList"
+							      :key="item.goodsId"
+							      :label="item.goodsName"
+							      :value="item">
+							    </el-option>
+							  </el-select>
+						</template>
 					</el-table-column>
 					<el-table-column label="配件编码" align="center">
 						<template slot-scope="scope">
@@ -323,14 +338,143 @@
 			<h3>扫二维码支付</h3>
 			<el-image :src="payCodeUrl" fit="fit"></el-image>
 		</el-dialog>
+		<!-- 选择销售订单号 -->
+		<el-dialog title="选择销售订单" :visible.sync="isShowNo" width="80%" :close-on-click-modal="false" :modal-append-to-body="false" @close="close">
+			<el-form ref="formData1" :model="formData1" label-width="110px" size="small" label-position="left">
+				<el-row :gutter="20">
+					<el-col :span="8">
+						<el-form-item label="网点名称" prop="websit_id">
+							<el-select v-model="formData1.websit_id" @change="changeWebsit" placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in websitList"
+							      :key="item.websitId"
+							      :label="item.name"
+							      :value="item.websitId">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-form-item label="师傅姓名" prop="worker_name">
+							<el-select v-model="formData1.worker_name" @focus="()=>{
+								if(!this.formData1.websit_id){return this.$message.warning('请先选择网点名称!');}
+							}" filterable placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in workerList"
+							      :key="item.id"
+							      :label="item.nickName + '-' + item.mobile"
+							      :value="item.nickName">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-form-item label="师傅联系电话" prop="worker_mobile">
+							<el-input type="text" v-model="formData1.worker_mobile" placeholder="请输入"></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-form-item label="物料名称" prop="goods" align="center">
+							<el-select v-model="formData1.goods" @focus="()=>{
+								if(!this.formData1.websit_id){return this.$message.warning('请先选择网点名称!');}
+							}" value-key="goodsId" placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in goodsList"
+							      :key="item.goodsId"
+							      :label="item.goodsName"
+							      :value="item">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :span="8">
+						<el-form-item label="规格型号" align="center">
+							<el-select v-model="formData1.goods" @focus="()=>{
+								if(!this.formData1.websit_id){return this.$message.warning('请先选择网点名称!');}
+							}" value-key="goodsId" placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in goodsList"
+							      :key="item.goodsId"
+							      :label="item.goodsSpecification"
+							      :value="item">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col> -->
+					<el-col :span="16">
+						<el-row type="flex" justify="end">
+							<el-col :span="4">
+								<el-button size="small" @click="resetScreenForm()">清空</el-button>
+								<el-button size="small" type="primary" @click="submitScreenForm()">搜索</el-button>
+							</el-col>
+						</el-row>
+					</el-col>
+				</el-row>
+			</el-form>
+			<div class="clearfix">
+				<span>订单信息</span>
+			</div>
+			<div class="table">
+				<el-table ref="treeTable" :data="orderList" element-loading-text="Loading" @select="handleSelectionChange" @row-click="handleSelectionChange('',$event)" border fit highlight-current-row stripe style="max-height: 380px;overflow-y: auto;">
+					<el-table-column type="selection" width="40"></el-table-column>
+					<el-table-column prop="salesId" align="center" label="销售单号" width="140"></el-table-column>
+					<el-table-column prop="" align="center" label="单据状态" width="120">已支付,已提货</el-table-column>
+					<el-table-column prop="websitName" align="center" label="网点名称" width="140"></el-table-column>
+					<el-table-column prop="" align="center" label="购买方">
+						<template slot-scope="scope">
+							{{scope.row.buyPeople == 'WORKER'?'内部师傅':'客户'}}
+						</template>
+					</el-table-column>
+					<el-table-column prop="workerName" align="center" label="师傅姓名"></el-table-column>
+					<el-table-column prop="workerMobile" align="center" label="师傅联系电话" width="120"></el-table-column>
+					<el-table-column prop="salesType" align="center" label="销售类型"></el-table-column>
+					<el-table-column prop="salesTime" align="center" label="销售日期" width="160"></el-table-column>
+					<el-table-column prop="totalAmount" align="center" label="订单金额"></el-table-column>
+					<el-table-column prop="" align="center" label="订单来源">
+						<template slot-scope="scope">
+							{{scope.row.source == 'ONLINE'?'在线订单':'自建订单'}}
+						</template>
+					</el-table-column>
+					<el-table-column prop="payType" align="center" label="支付方式">
+						<template slot-scope="scope">
+							{{scope.row.payType == 'CASH'?'现金':scope.row.payType == 'WECHAT'?'微信':'工程支付'}}
+						</template>
+					</el-table-column>
+					<el-table-column prop="payTime" align="center" label="支付时间" width="160"></el-table-column>
+					<el-table-column prop="payNo" align="center" label="支付单号" width="160"></el-table-column>
+					<el-table-column prop="createBy" align="center" label="创建人" width="160"></el-table-column>
+					<el-table-column prop="createTime" align="center" label="创建时间" width="160"></el-table-column>
+					<el-table-column prop="updateBy" align="center" label="审核人" width="160"></el-table-column>
+					<el-table-column prop="updateTime" align="center" label="审核时间" width="160"></el-table-column>
+				</el-table>
+				<div class="pagination clearfix">
+					<div class="fr">
+						<el-pagination
+							@size-change="handleSizeChange"
+							@current-change="handleCurrentChange"
+							:current-page="pageNum"
+							:page-sizes="[10, 20, 30, 50]"
+							:page-size="pageSize"
+							layout="total, sizes, prev, pager, next, jumper"
+							:total="listTotal"
+						></el-pagination>
+					</div>
+				</div>
+				<div slot="footer" class="dialog-footer" style="margin-top: 10px;">
+					<el-button size="small" @click="isShowNo = false">取 消</el-button>
+					<el-button size="small" type="primary" @click="confirmOrder()">确定</el-button>
+				</div>
+			</div>
+		</el-dialog>
 	</div>
 </template>
 
 <script>
 	import { getWebsit } from "@/api/customerManagement";
 	import ImageUpload from '@/components/file-upload'
-	import { getWorker, getCategory, getGoods, getDetail } from "@/api/auxiliaryFittings/auxiliarySalesOrder";
-	import { add, edit, getNewDetail } from "@/api/auxiliaryFittings/attachmentNewReturn";
+	import { listPageV2, getWorker, getCategory, getGoods, getDetail } from "@/api/auxiliaryFittings/auxiliarySalesOrder";
+	import { add, edit, getNewDetail, getAttachmentList } from "@/api/auxiliaryFittings/attachmentNewReturn";
+	import { getGoodsList } from "@/api/auxiliaryFittings/auxiliarySalesReturnOrder";
 	export default {
 		components: { ImageUpload },
 		props: ['id','title','formType'],
@@ -340,6 +484,9 @@
 				oldList: [],
 				websitList: [],
 				workerList: [],
+				orderList: [],
+				goodsList: [],
+				attachmentList: [],
 				mainList: [],
 				isPay: false,
 				payCodeUrl: '',
@@ -378,6 +525,14 @@
 					lng: '',
 					orderEnginBaseId: '',
 				},
+				formData1: {
+					websit_id: '',
+					worker_name: '',
+					worker_mobile: '',
+					goods: {},
+					goodsName: '',
+					goodsSpecification: ''
+				},
 				isEdit: 0,
 				companyName: JSON.parse(localStorage.getItem('greemall_user')).companyName,
 				rules: {
@@ -395,7 +550,11 @@
 						{ required: true, message: '请输入师傅联系电话', trigger: 'blur' },
 						{ pattern:/^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/, message: '电话号码格式不正确', trigger: 'blur' }
 					],
-				}
+				},
+				isShowNo: false,
+				pageNum: 1,
+				pageSize: 10,
+				listTotal: 0
 			};
 		},
 		computed: {},
@@ -452,11 +611,62 @@
 					this.websitList = res.data
 				})
 			},
+			close(){
+				this.$refs.formData1.resetFields();
+			},
+			confirmOrder(){
+				this.isShowNo = false
+				this.getDetail(this.selectedRow.salesId)
+			},
+			getOrderList(){
+				listPageV2({pageNum: this.pageNum,pageSize: this.pageSize,params: [{param: 'a.flag',compare: '=',value: 'PAY_TAKE'},{param: "a.goods_type", compare: "=", value: "P"},{param: 'a.websit_id',compare: '=',value: this.formData1.websit_id},{param: 'a.worker_name',compare: '=',value: this.formData1.worker_name},{param: 'a.worker_mobile',compare: '=',value: this.formData1.worker_mobile}], goodsName: this.formData1.goods.goodsName, goodsSpecification: this.formData1.goods.goodsSpecification}).then(res => {
+					this.orderList = res.data.records
+					this.listTotal = res.data.total
+				})
+			},
+			getGoodsList(){
+				getGoodsList({
+					type: 'P',
+					websitId: this.formData1.websit_id
+				}).then(res => {
+					this.goodsList = res.data
+				})
+			},
+			handleSelectionChange (selection, row) {
+				this.$refs.treeTable.clearSelection()
+			 	 // 这里因为需求做的是必选一个,如有其他需求可做调整
+				this.$refs.treeTable.toggleRowSelection(row, true)    
+				this.selectedRow = row
+			},
+			// 更改每页数量
+			handleSizeChange(val) {
+				this.pageSize = val;
+				this.pageNum = 1;
+				this.getOrderList();
+			},
+			// 更改当前页
+			handleCurrentChange(val) {
+				this.pageNum = val;
+				this.getOrderList();
+			},
+			// 提交筛选表单
+			submitScreenForm() {
+				this.pageNum = 1;
+				this.getOrderList();
+			},
+			
+			// 重置筛选表单
+			resetScreenForm() {
+				this.$refs.formData1.resetFields();
+				this.pageNum = 1;
+				this.getOrderList();
+			},
 			changeWebsit(e){
-				this.formData.websitId = e.websitId
-				this.formData.websitName = e.name
+				// this.formData.websitId = e.websitId
+				// this.formData.websitName = e.name
 				this.getWorker()
-				this.getCategory(e.websitId)
+				this.getGoodsList()
+				// this.getCategory(e.websitId)
 			},
 			async getGoods(goodsName,type){
 				const that = this
@@ -501,6 +711,15 @@
 				this.dataList[this.isEdit].goodsCode = e. goodsCode
 				this.dataList[this.isEdit].qty = e.qty
 			},
+			changeGoods1(e){
+				this.oldList[this.isEdit].goodsId = e.goodsId
+				this.oldList[this.isEdit].goodsName = e.goodsName
+				this.oldList[this.isEdit].unit = e.goodsStockUnit
+				this.oldList[this.isEdit].orderBrand = e.brandRelaName
+				this.oldList[this.isEdit].partsName = e.productRelaName
+				this.oldList[this.isEdit].partsCode = e.goodsCode
+				this.oldList[this.isEdit].qty = e.oldQty
+			},
 			add(){
 				this.oldList.push({
 					orderId: '',
@@ -510,7 +729,17 @@
 					partsName: '',
 					unit: '',
 					qty: '',
-					partsCode: ''
+					partsCode: '',
+					goodsList: [],
+					goods: {},
+					goodsId: '',
+					goodsName: '',
+				})
+				this.getAttachmentList()
+			},
+			getAttachmentList(){
+				getAttachmentList({pageNum: 1,pageSize: -1,params: [{param: 'a.websit_id',compare: '=',value: this.formData.websitId}]}).then(res => {
+					this.oldList[this.isEdit].goodsList = res.data.records
 				})
 			},
 			async checkForm(){

+ 1 - 3
src/views/auxiliaryFittings/salesManagement/components/attachmentSalesOrderDetail.vue

@@ -642,9 +642,7 @@
 							salesType: this.formData.salesType
 						}).then(res => {
 							if(res.code == 200){
-								this.$nextTick(() => {
-									that.confirmSubmit()
-								})
+								this.confirmSubmit()
 							}
 						})
 					}

+ 205 - 11
src/views/auxiliaryFittings/salesManagement/components/auxiliarySalesReturnOrderDetail.vue

@@ -81,11 +81,14 @@
 								</el-radio-group>
 							</el-form-item>
 						</el-col>
-						<el-col :span="8">
+						<el-col :span="7">
 							<el-form-item label="销售订单号" :required="true">
-								<el-input type="text" v-model="formData.salesId" @change="getDetail" placeholder="请输入销售订单号"></el-input>
+								<el-input type="text" v-model="formData.salesId" @change="getDetail" disabled placeholder="请输入销售订单号"></el-input>
 							</el-form-item>
 						</el-col>
+						<el-col :span="1">
+							<el-button v-if="formType != 2" size="small" type="primary"  @click="isShowNo = true;getOrderList();">选择</el-button>
+						</el-col>
 						<el-col :span="5">
 							<el-form-item label="销售金额">
 								<el-input type="text" :value="formData.totalAmount" disabled></el-input>
@@ -138,7 +141,7 @@
 								</el-form-item>
 							</el-col>
 							<el-col :span="24">
-								<el-form-item label="项目地址" prop="province" :required="true">
+								<el-form-item label="项目地址" :required="true">
 									<el-row>
 										<el-col :span="5" style="margin-right: 12px;">
 											<el-input type="text" v-model="formData.province" disabled placeholder="请选择省"></el-input>
@@ -156,7 +159,7 @@
 								</el-form-item>
 							</el-col>
 							<el-col :span="24">
-								<el-form-item label="" prop="address">
+								<el-form-item label="">
 									<el-row :gutter="20">
 										<el-col :span="24">
 											<el-input type="text" v-model="formData.address" :disabled="true" placeholder="详细地址"></el-input>
@@ -287,6 +290,134 @@
 			<h3>扫二维码支付</h3>
 			<el-image :src="payCodeUrl" fit="fit"></el-image>
 		</el-dialog>
+		<!-- 选择销售订单号 -->
+		<el-dialog title="选择销售订单" :visible.sync="isShowNo" width="80%" :close-on-click-modal="false" :modal-append-to-body="false" @close="close">
+			<el-form ref="formData1" :model="formData1" label-width="110px" size="small" label-position="left">
+				<el-row :gutter="20">
+					<el-col :span="8">
+						<el-form-item label="网点名称" prop="websit_id">
+							<el-select v-model="formData1.websit_id" @change="changeWebsit" placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in websitList"
+							      :key="item.websitId"
+							      :label="item.name"
+							      :value="item.websitId">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-form-item label="师傅姓名" prop="worker_name">
+							<el-select v-model="formData1.worker_name" @focus="()=>{
+								if(!this.formData1.websit_id){return this.$message.warning('请先选择网点名称!');}
+							}" filterable placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in workerList"
+							      :key="item.id"
+							      :label="item.nickName + '-' + item.mobile"
+							      :value="item.nickName">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-form-item label="师傅联系电话" prop="worker_mobile">
+							<el-input type="text" v-model="formData1.worker_mobile" placeholder="请输入"></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-form-item label="物料名称" prop="goods" align="center">
+							<el-select v-model="formData1.goods" @focus="()=>{
+								if(!this.formData1.websit_id){return this.$message.warning('请先选择网点名称!');}
+							}" value-key="goodsId" placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in goodsList"
+							      :key="item.goodsId"
+							      :label="item.goodsName"
+							      :value="item">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-form-item label="规格型号" prop="goods" align="center">
+							<el-select v-model="formData1.goods" @focus="()=>{
+								if(!this.formData1.websit_id){return this.$message.warning('请先选择网点名称!');}
+							}" value-key="goodsId" placeholder="请选择" style="width: 100%;">
+							    <el-option
+							      v-for="item in goodsList"
+							      :key="item.goodsId"
+							      :label="item.goodsSpecification"
+							      :value="item">
+							    </el-option>
+							  </el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8">
+						<el-row type="flex" justify="end">
+							<el-col :span="7">
+								<el-button size="small" @click="resetScreenForm()">清空</el-button>
+								<el-button size="small" type="primary" @click="submitScreenForm()">搜索</el-button>
+							</el-col>
+						</el-row>
+					</el-col>
+				</el-row>
+			</el-form>
+			<div class="clearfix">
+				<span>订单信息</span>
+			</div>
+			<div class="table">
+				<el-table ref="treeTable" :data="orderList" element-loading-text="Loading" @select="handleSelectionChange" @row-click="handleSelectionChange('',$event)" border fit highlight-current-row stripe style="max-height: 380px;overflow-y: auto;">
+					<el-table-column type="selection" width="40"></el-table-column>
+					<el-table-column prop="salesId" align="center" label="销售单号" width="140"></el-table-column>
+					<el-table-column prop="" align="center" label="单据状态" width="120">已支付,已提货</el-table-column>
+					<el-table-column prop="websitName" align="center" label="网点名称" width="140"></el-table-column>
+					<el-table-column prop="" align="center" label="购买方">
+						<template slot-scope="scope">
+							{{scope.row.buyPeople == 'WORKER'?'内部师傅':'客户'}}
+						</template>
+					</el-table-column>
+					<el-table-column prop="workerName" align="center" label="师傅姓名"></el-table-column>
+					<el-table-column prop="workerMobile" align="center" label="师傅联系电话" width="120"></el-table-column>
+					<el-table-column prop="salesType" align="center" label="销售类型"></el-table-column>
+					<el-table-column prop="salesTime" align="center" label="销售日期" width="160"></el-table-column>
+					<el-table-column prop="totalAmount" align="center" label="订单金额"></el-table-column>
+					<el-table-column prop="" align="center" label="订单来源">
+						<template slot-scope="scope">
+							{{scope.row.source == 'ONLINE'?'在线订单':'自建订单'}}
+						</template>
+					</el-table-column>
+					<el-table-column prop="payType" align="center" label="支付方式">
+						<template slot-scope="scope">
+							{{scope.row.payType == 'CASH'?'现金':scope.row.payType == 'WECHAT'?'微信':'工程支付'}}
+						</template>
+					</el-table-column>
+					<el-table-column prop="payTime" align="center" label="支付时间" width="160"></el-table-column>
+					<el-table-column prop="payNo" align="center" label="支付单号" width="160"></el-table-column>
+					<el-table-column prop="createBy" align="center" label="创建人" width="160"></el-table-column>
+					<el-table-column prop="createTime" align="center" label="创建时间" width="160"></el-table-column>
+					<el-table-column prop="updateBy" align="center" label="审核人" width="160"></el-table-column>
+					<el-table-column prop="updateTime" align="center" label="审核时间" width="160"></el-table-column>
+				</el-table>
+				<div class="pagination clearfix">
+					<div class="fr">
+						<el-pagination
+							@size-change="handleSizeChange"
+							@current-change="handleCurrentChange"
+							:current-page="pageNum"
+							:page-sizes="[10, 20, 30, 50]"
+							:page-size="pageSize"
+							layout="total, sizes, prev, pager, next, jumper"
+							:total="listTotal"
+						></el-pagination>
+					</div>
+				</div>
+				<div slot="footer" class="dialog-footer" style="margin-top: 10px;">
+					<el-button size="small" @click="isShowNo = false">取 消</el-button>
+					<el-button size="small" type="primary" @click="confirmOrder()">确定</el-button>
+				</div>
+			</div>
+		</el-dialog>
 	</div>
 </template>
 
@@ -295,8 +426,8 @@
 	import { lbsAmapRegion } from '@/api/common.js'
 	import geographicalPosi from '@/components/geographicalPosi/index.vue'
 	import ImageUpload from '@/components/file-upload'
-	import { getWorker, getCategory, getGoods, getDetail } from "@/api/auxiliaryFittings/auxiliarySalesOrder";
-	import { add, edit, getReturnDetail } from "@/api/auxiliaryFittings/auxiliarySalesReturnOrder";
+	import { listPageV2, getWorker, getCategory, getGoods, getDetail } from "@/api/auxiliaryFittings/auxiliarySalesOrder";
+	import { add, edit, getReturnDetail, getGoodsList } from "@/api/auxiliaryFittings/auxiliarySalesReturnOrder";
 	export default {
 		components: { ImageUpload, geographicalPosi },
 		props: ['id','title','formType'],
@@ -305,6 +436,8 @@
 				dataList: [],
 				websitList: [],
 				workerList: [],
+				orderList: [],
+				goodsList: [],
 				mainList: [],
 				projectList: [],
 				isPay: false,
@@ -343,6 +476,14 @@
 					lng: '',
 					orderEnginBaseId: '',
 				},
+				formData1: {
+					websit_id: '',
+					worker_name: '',
+					worker_mobile: '',
+					goods: {},
+					goodsName: '',
+					goodsSpecification: ''
+				},
 				provinceList: [],
 				cityList: [],
 				areaList: [],
@@ -364,7 +505,11 @@
 						{ required: true, message: '请输入师傅联系电话', trigger: 'blur' },
 						{ pattern:/^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/, message: '电话号码格式不正确', trigger: 'blur' }
 					],
-				}
+				},
+				isShowNo: false,
+				pageNum: 1,
+				pageSize: 10,
+				listTotal: 0
 			};
 		},
 		computed: {},
@@ -426,11 +571,60 @@
 					this.websitList = res.data
 				})
 			},
+			close(){
+				this.$refs.formData1.resetFields();
+			},
+			confirmOrder(){
+				this.isShowNo = false
+				this.getDetail(this.selectedRow.salesId)
+			},
+			getOrderList(){
+				listPageV2({pageNum: this.pageNum,pageSize: this.pageSize,params: [{param: 'a.flag',compare: '=',value: 'PAY_TAKE'},{param: "a.goods_type", compare: "=", value: "M"},{param: 'a.websit_id',compare: '=',value: this.formData1.websit_id},{param: 'a.worker_name',compare: '=',value: this.formData1.worker_name},{param: 'a.worker_mobile',compare: '=',value: this.formData1.worker_mobile}], goodsName: this.formData1.goods.goodsName, goodsSpecification: this.formData1.goods.goodsSpecification}).then(res => {
+					this.orderList = res.data.records
+					this.listTotal = res.data.total
+				})
+			},
+			getGoodsList(){
+				getGoodsList({
+					type: 'M',
+					websitId: this.formData1.websit_id
+				}).then(res => {
+					this.goodsList = res.data
+				})
+			},
+			handleSelectionChange (selection, row) {
+				this.$refs.treeTable.clearSelection()
+			 	 // 这里因为需求做的是必选一个,如有其他需求可做调整
+				this.$refs.treeTable.toggleRowSelection(row, true)    
+				this.selectedRow = row
+			},
+			// 更改每页数量
+			handleSizeChange(val) {
+				this.pageSize = val;
+				this.pageNum = 1;
+				this.getOrderList();
+			},
+			// 更改当前页
+			handleCurrentChange(val) {
+				this.pageNum = val;
+				this.getOrderList();
+			},
+			// 提交筛选表单
+			submitScreenForm() {
+				this.pageNum = 1;
+				this.getOrderList();
+			},
+			
+			// 重置筛选表单
+			resetScreenForm() {
+				this.$refs.formData1.resetFields();
+				this.pageNum = 1;
+				this.getOrderList();
+			},
 			changeWebsit(e){
-				this.formData.websitId = e.websitId
-				this.formData.websitName = e.name
 				this.getWorker()
-				this.getCategory(e.websitId)
+				this.getGoodsList()
+				// this.getCategory(e.websitId)
 			},
 			getCategory(websitId){
 				getCategory({websitId}).then(res => {
@@ -454,7 +648,7 @@
 				}
 			},
 			getWorker(){
-				getWorker({pageNum: 1,pageSize: -1,params: [{param: 'b.websit_id',compare: '=',value: this.formData.websitId}]}).then(res => {
+				getWorker({pageNum: 1,pageSize: -1,params: [{param: 'b.websit_id',compare: '=',value: this.formData1.websit_id}]}).then(res => {
 					this.workerList = res.data.records
 				})
 			},

+ 7 - 1
src/views/mallManagement/order/order_detail/index.vue

@@ -701,7 +701,13 @@ export default {
         this.orderDetail.workerName = this.orderDetail.workerName ? this.orderDetail.workerName : '暂无'
         this.orderDetail.workerPhone = this.orderDetail.workerPhone ? this.orderDetail.workerPhone : ''
         this.evaluateDetail = res.data.orderComment;
-		    this.formData1.list = res.data.orderDetails
+		let arr = []
+		res.data.orderDetails.forEach(item=>{
+			if(item.goodsMaterialId){
+				arr.push(item)
+			}
+		})
+		this.formData1.list = arr
       })
     },
 

+ 7 - 1
src/views/mallManagement/order/order_list/index.vue

@@ -858,7 +858,13 @@ export default {
     },
 	getOrderDetail(){
 		getOrderDetail({orderId: this.editOrderId}).then(res => {
-		  this.formData1.list = res.data.orderDetails
+			let arr = []
+			res.data.orderDetails.forEach(item=>{
+				if(item.goodsMaterialId){
+					arr.push(item)
+				}
+			})
+			this.formData1.list = arr
 		})
 	},
 	changeType(){

+ 7 - 1
src/views/mallManagement/order/order_refund/index.vue

@@ -580,7 +580,13 @@ export default {
     },
     getOrderDetail(orderId) {
       getOrderDetail({ orderId: orderId || this?.order_cp?.orderId || "" }).then(res => {
-        this.formData1.list = res.data.orderDetails
+        let arr = []
+        res.data.orderDetails.forEach(item=>{
+        	if(item.goodsMaterialId){
+        		arr.push(item)
+        	}
+        })
+        this.formData1.list = arr
       })
     },
     changeType() {

+ 7 - 1
src/views/mallManagement/order/order_refund_detail/index.vue

@@ -473,7 +473,13 @@ export default {
 		
 		getOrderDetail(){
 			getOrderDetail({orderId: this.orderDetail.orderId}).then(res => {
-			  this.formData1.list = res.data.orderDetails
+			  let arr = []
+			  res.data.orderDetails.forEach(item=>{
+			  	if(item.goodsMaterialId){
+			  		arr.push(item)
+			  	}
+			  })
+			  this.formData1.list = arr
 			})
 		},
 		changeType(){

+ 7 - 2
src/views/setting/account/index.vue

@@ -27,17 +27,20 @@
                   <el-option :label="item.label" :value="item.value" v-for="(item, index) in select_status"
                     :key="index"></el-option>
                 </el-select>
-                <el-input placeholder="请输入内容" v-model="screenForm.keyword" size="small" style="width: 180px;">
+				<el-input placeholder="商户名称" v-model="screenForm.companyWechatName" size="small" style="width: 180px;"></el-input>
+                <el-input placeholder="用户名" v-model="screenForm.keyword" size="small" style="width: 180px;">
                   <el-button slot="append" icon="el-icon-search" size="small" @click="getListByScreen"></el-button>
                 </el-input>
+				<el-button size="small" @click="screenForm.companyWechatName = '';screenForm.keyword = '';screenForm.role = '';screenForm.status = '';getListByScreen()">清空</el-button>
               </div>
             </div>
             <div class="table">
               <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit
                 highlight-current-row stripe>
                 <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
+				<el-table-column align="center" label="商户" prop="companyName" min-width="160"></el-table-column>
                 <el-table-column align="center" label="账号" prop="userName" min-width="120"></el-table-column>
-                <el-table-column align="center" label="用户名" prop="nickName" min-width="120"></el-table-column>
+                <el-table-column align="center" label="用户名" prop="nickName" min-width="160"></el-table-column>
                 <el-table-column align="center" label="角色" prop="roleName" min-width="100"></el-table-column>
                 <el-table-column align="center" label="创建时间" prop="createTime" min-width="160"></el-table-column>
                 <el-table-column align="center" label="最后登录时间" prop="lastLoginTime" min-width="160"></el-table-column>
@@ -219,6 +222,7 @@ export default {
         role: '', // 角色
         status: '', // 状态
         keyword: '', // 关键词
+		companyWechatName: ''//商户名
       },
       select_status: [ // 筛选字段 - 状态
         { label: '正常', value: true },
@@ -311,6 +315,7 @@ export default {
         roleId: this.screenForm.role,
         status: this.screenForm.status,
         userName: this.screenForm.keyword,
+		companyWechatName: this.screenForm.companyWechatName,
         pageNum: this.currentPage,
         pageSize: this.pageSize,
         ...(() => {

+ 3 - 0
src/views/setting/oplog/index.vue

@@ -26,6 +26,8 @@
             start-placeholder="开始日期"
             end-placeholder="结束日期">
           </el-date-picker>
+		  <el-button style="margin-left: 10px" size="small" @click="screenForm.companyWechatName = '';screenForm.moduleName = '';screenForm.date = '';getListByScreen()">清空</el-button>
+		  <el-button size="small" type="primary" @click="getListByScreen">搜索</el-button>
         </div>
       </div>
 
@@ -55,6 +57,7 @@
               </el-form>
             </template>
           </el-table-column>
+		  <el-table-column align="center" label="商户" prop="companyName" min-width="140"></el-table-column>
           <el-table-column align="center" label="所在模块" prop="moduleName" min-width="140"></el-table-column>
           <el-table-column align="center" label="记录时间" prop="createTime" min-width="160"></el-table-column>
           <el-table-column align="center" label="用户" prop="nickName" min-width="140">

+ 16 - 1
src/views/setting/role/index.vue

@@ -15,12 +15,17 @@
                 <el-button size="small" type="primary" icon="el-icon-plus" @click="addOrEdit('add')">新增角色</el-button>
               </div>
               <div class="fr">
+                <el-input placeholder="商户名称" v-model="screenForm.companyWechatName" size="small" style="width: 300px;">
+                  <el-button slot="append" icon="el-icon-search" size="small" @click="getListByScreen"></el-button>
+                </el-input>
+				<el-button size="small" @click="screenForm.companyWechatName = '';getListByScreen()">清空</el-button>
               </div>
             </div>
             <div class="table">
               <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit
                 highlight-current-row stripe>
                 <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
+				<el-table-column align="center" label="商户" prop="companyName"></el-table-column>
                 <el-table-column align="center" label="角色" prop="name"></el-table-column>
                 <el-table-column align="center" label="操作" width="180">
                   <template slot-scope="scope">
@@ -85,6 +90,9 @@ export default {
       listTotal: 0, // 列表总数
       editId: null,
       addFormType: 'add',
+	  screenForm: {
+	  	companyWechatName: ''
+	  },
       addForm: {
         name: '', // 角色名
       },
@@ -114,7 +122,8 @@ export default {
       this.listLoading = true;
       let params = {
         pageNum: this.currentPage,
-        pageSize: this.pageSize
+        pageSize: this.pageSize,
+		companyWechatName: this.screenForm.companyWechatName
       };
       getRoleList(params).then(res => {
         this.dataList = res.data.records;
@@ -122,6 +131,12 @@ export default {
         this.listLoading = false;
       })
     },
+		
+		// 筛选后重新获取列表
+		getListByScreen() {
+		  this.currentPage = 1;
+		  this.getList();
+		},
 
     // 更改每页数量
     handleSizeChange(val) {

+ 1 - 1
src/views/workOrder/orderHome/index.vue

@@ -118,7 +118,7 @@
 					this.$router.push({
 						name: 'workOrderPool',
 						params: {
-							pageName: type,
+							pageName: '-',
 							pageType: 'orderStatus',
 							pageCode: type,
 						},

+ 45 - 0
src/views/workOrder/settleAccountsManagement/settleAccountsOrder/index.vue

@@ -159,6 +159,51 @@ export default {
 		exportList: pageExport,
 		// 表格列解析渲染数据更改
 		columnParsing(item, defaultData) {
+			if (item.jname === 'orderBaseId') {
+				defaultData.render = (h, { row, index, column }) => {
+					return (
+						<div style="padding:0 6px;cursor: pointer;" class={{ 'text-view': true, 'text-view-copy': column.isCopy }}>
+							<span style="color:#008dd4;" onClick={() => {
+								if (row.settleOrderType == 'EXAMINE') {
+									this.$router.push({
+										name: "rewardsPunishmentsOrder",
+										query: {
+											id: row.examineProjectId
+										}
+									})
+								} else if(row.settleOrderType == 'PUNISH'){
+									this.$router.push({
+										name: 'penaltyWorkOrder',
+										params: {
+											pageName: row.punishOrderId,
+											pageType: 'detail',
+											pageCode: row.punishOrderId,
+										},
+									})
+								}else{
+									this.$router.push({
+										name: 'workOrderPool',
+										params: {
+											pageName: row.orderBaseId,
+											pageType: 'detail',
+											pageCode: row.orderBaseId,
+											pagePam: 'SettleAccounts'
+										},
+									})
+								}
+							}}>{row.orderBaseId}</span>
+							{(column.isCopy && row.orderBaseId) ? (
+								<i
+									style="color:#008dd4;"
+									class={['el-icon-document-copy', column.columnCopyClass]}
+									data-clipboard-text={row[column.columnAttributes.prop]}
+								></i>
+							) : null}
+						</div>
+					)
+				}
+				defaultData.columnAttributes.width = 200
+			}
 			return defaultData
 		},
 		selectable(row, index) {