Ver código fonte

Merge branch 'feature/pyh_工单结算调整' into develop

pengyh 1 ano atrás
pai
commit
4b9b86a597

+ 10 - 1
src/api/workOrder/settleAccountsOrder.js

@@ -18,11 +18,20 @@ export function pageExport(data, name) {
   })
 }
 
-//汇总
+//月度汇总
 export function pool(data) {
   return request({
     url: '/settle/order/pool',
 	method: 'post',
     data
   })
+}
+
+//批量汇总
+export function poolMore(data) {
+  return request({
+    url: '/settle/order/batch/pool',
+	method: 'post',
+    data
+  })
 }

+ 12 - 0
src/views/setting/thirdPartyAddressLogin/index.vue

@@ -129,6 +129,18 @@ export default {
     exportList: pageExport,
     // 表格列解析渲染数据更改
     columnParsing(item, defaultData) {
+		if(JSON.parse(localStorage.getItem('greemall_user')).userName != 'admin'){
+			if (item.jname === 'url' || item.jname === 'status' || item.jname === 'createBy' || item.jname === 'createTime' || item.jname === 'updateBy' || item.jname === 'updateTime') {
+				defaultData.hidden = true
+			}
+			if (item.jname === 'urlName') {
+				console.log(defaultData)
+				defaultData.render = (h, { row, index, column }) => {
+					return (<el-link style="padding: 6px;" href={row.url} underline={false} target="_blank">{row.urlName}</el-link>)
+				}
+			}
+		}
+		
       return defaultData
     },
     // 监听勾选变化

+ 20 - 20
src/views/workOrder/basicConfiguration/settlementStandard/components/install.vue

@@ -86,27 +86,27 @@ export default {
 		exportList: pageExport,
 		// 表格列解析渲染数据更改
 		columnParsing(item, defaultData) {
-		if (item.jname === 'orderChannelText') {
-			defaultData.render = (h, { row, index, column }) => {
-				return this.editIndex == index ? (
-					<div class="redbordererr">
-						<el-form-item prop={`tableData.${index}.orderChannelId`} rules={[{ required: true, message: '工单来源不能为空', trigger: 'blur' }]}>
-							<el-select value={{ dictCode: row.orderChannelId, dictValue: row.orderChannelText }} value-key="dictCode" placeholder="请选择"
-								onInput={(val) => {
-									row.orderChannelText = val.dictValue
-									row.orderChannelId = val.dictCode
-								}}>
-								{
-									this.sourceList.map((item, index) => {
-										return <el-option key={item.dictCode} label={item.dictValue} value={item}></el-option>
-									})
-								}
-							</el-select>
-						</el-form-item>
-					</div>
-				) : (<div style="padding: 6px;">{row.orderChannelText}</div>)
+			if (item.jname === 'orderChannelText') {
+				defaultData.render = (h, { row, index, column }) => {
+					return this.editIndex == index ? (
+						<div class="redbordererr">
+							<el-form-item prop={`tableData.${index}.orderChannelId`} rules={[{ required: true, message: '工单来源不能为空', trigger: 'blur' }]}>
+								<el-select value={{ dictCode: row.orderChannelId, dictValue: row.orderChannelText }} value-key="dictCode" placeholder="请选择"
+									onInput={(val) => {
+										row.orderChannelText = val.dictValue
+										row.orderChannelId = val.dictCode
+									}}>
+									{
+										this.sourceList.map((item, index) => {
+											return <el-option key={item.dictCode} label={item.dictValue} value={item}></el-option>
+										})
+									}
+								</el-select>
+							</el-form-item>
+						</div>
+					) : (<div style="padding: 6px;">{row.orderChannelText}</div>)
+				}
 			}
-		}
 			if (item.jname === 'typeName') {
 				defaultData.render = (h, { row, index, column }) => {
 					return this.editIndex == index ? (

+ 36 - 5
src/views/workOrder/settleAccountsManagement/settleAccountsOrder/index.vue

@@ -30,7 +30,7 @@ import TemplatePage from '@/components/template/template-page-1.vue'
 import import_mixin from '@/components/template/import_mixin.js'
 import ImageUpload from '@/components/file-upload'
 import { required, mobileRequired, mobile, httpUrl, email } from '@/components/template/rules_verify.js'
-import { listPageV2, pageExport, pool } from "@/api/workOrder/settleAccountsOrder";
+import { listPageV2, pageExport, pool, poolMore } from "@/api/workOrder/settleAccountsOrder";
 import operation_mixin from '@/components/template/operation_mixin.js'
 export default {
 	components: { TemplatePage, ImageUpload },
@@ -40,7 +40,8 @@ export default {
 			// 表格属性
 			tableAttributes: {
 				// 启用勾选列
-				selectColumn: false
+				selectColumn: true,
+				selectable: this.selectable
 			},
 			// 表格事件
 			tableEvents: {
@@ -69,8 +70,15 @@ export default {
 			return [
 				[
 					[
-						this.optionsEvensAuth("collect", {
-							click: this.poolData
+						this.optionsEvensAuth("collectMonth", {
+							click: this.poolData1
+						})
+					]
+				],
+				[
+					[
+						this.optionsEvensAuth("collectMore", {
+							click: this.poolData2
 						})
 					]
 				]
@@ -153,6 +161,9 @@ export default {
 		columnParsing(item, defaultData) {
 			return defaultData
 		},
+		selectable(row, index) {
+			return ["NO"].includes(Object.entries(row.selectMapData.poolStatus).find(([key, val]) => val == row.poolStatus)?.[0])
+		},
 		// 监听勾选变化
 		selectionChange(data) {
 			this.recordSelected = data
@@ -183,10 +194,16 @@ export default {
 			})
 		},
 
-		poolData() {
+		poolData1() {
 			this.formDialogType = 0
 			this.openForm()
 		},
+		poolData2() {
+			if (this.recordSelected.length == 0) {
+				return this.$message.warning('请至少勾选一条数据!');
+			}
+			this.poolMore(this.recordSelected.map(item => { return item.id }))
+		},
 		openForm() {
 			this.formDialog = true;
 		},
@@ -195,6 +212,20 @@ export default {
 			this.$data.formData = this.$options.data().formData
 			this.formDialog = false
 		},
+		poolMore(ids){
+			this.$confirm('请确认是否批量汇总选中的数据, 是否继续?', '提示', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning'
+			}).then(() => {
+				poolMore({
+					ids
+				}).then(res => {
+					this.$message({ type: 'success', message: `${this.formDialogTitles[this.formDialogType]}成功!` })
+					this.$refs.pageRef.refreshList()
+				})
+			});
+		},
 		formConfirm() {
 			this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
 				if (valid) {