Browse Source

Merge pull request '采购价页面渲染' (#17) from wpd_purchase6 into master

Reviewed-on: #17
pull/18/head
pengda 2 weeks ago
parent
commit
38febaa22d
  1. 27
      src/components/PhoneCode.vue
  2. 4
      src/utils/request.js
  3. 67
      src/views/Franchise.vue
  4. 128
      src/views/SiteList.vue
  5. 19
      src/views/super/Ranking/Purchase.vue
  6. 4
      vue.config.js

27
src/components/PhoneCode.vue

@ -10,7 +10,7 @@
</template> </template>
<script> <script>
// import axios from 'axios'; import axios from 'axios';
import GuipButton from '@/components/GuipButton.vue'; import GuipButton from '@/components/GuipButton.vue';
import GuipInput from '@/components/GuipInput.vue'; import GuipInput from '@/components/GuipInput.vue';
@ -38,20 +38,19 @@ import GuipInput from '@/components/GuipInput.vue';
return; return;
} }
this.phoneValue = this.$refs.phoneNumber.inputValue; this.phoneValue = this.$refs.phoneNumber.inputValue;
this.startCountdown();
// //
// try { try {
// const response = await axios.post('API', { phoneNumber: this.$refs.phoneNumber.value }); // API const response = await axios.post('/agentnew/ajax_send_verify_code', { phoneNumber: this.$refs.phoneNumber.value }); // API
// if (response.data.success) { // if (response.data.status) { //
// alert(''); this.$message.success('验证码已发送');
// this.startCountdown(); this.startCountdown();
// } else { } else {
// throw new Error(response.data.message || ''); // 使 throw new Error(response.data.info || '发送失败'); // 使
// } }
// } catch (error) { } catch (error) {
// console.error(':', error); // console.error('发送验证码失败:', error); //
// alert(''); // this.$message.warning('发送验证码失败,请稍后再试');
// } }
}, },
startCountdown() { startCountdown() {
this.isCounting = true; this.isCounting = true;

4
src/utils/request.js

@ -4,7 +4,7 @@ import axios from "axios";
// 创建 axios 实例 // 创建 axios 实例
const service = axios.create({ const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // 从环境变量中读取 API 基础地址 baseURL: process.env.VUE_APP_BASE_API, // 从环境变量中读取 API 基础地址
timeout: 10000, // 请求超时时间 timeout: 60000, // 请求超时时间
headers: { headers: {
'Content-Type': 'application/x-www-form-urlencoded' 'Content-Type': 'application/x-www-form-urlencoded'
}, },
@ -33,7 +33,7 @@ service.interceptors.response.use(
const res = response.data; const res = response.data;
if (!res.status) { if (!res.status) {
// 如果返回的 status 不是 true,则视为错误 // 如果返回的 status 不是 true,则视为错误
return Promise.reject(new Error(res.info || "请求失败")); // return Promise.reject(new Error(res.info || "请求失败"));
} }
return res; return res;
}, },

67
src/views/Franchise.vue

@ -35,35 +35,35 @@
<img src="../assets/franchise1/storeNum.svg" alt=""> <img src="../assets/franchise1/storeNum.svg" alt="">
<span>订单号</span> <span>订单号</span>
</div> </div>
<GuipInput slot="formDom" ref="GuipInput" placeholder="拍1件金额3000元订单" desc="2000元加盟费+1000元充值账户余额"/> <GuipInput slot="formDom" ref="GuipInput" v-model="form.tid" prop="tid" placeholder="拍1件金额3000元订单" desc="2000元加盟费+1000元充值账户余额"/>
</GuipFormItem> </GuipFormItem>
<GuipFormItem column="column" addClass="w388"> <GuipFormItem column="column" addClass="w388">
<div slot="formLeft" class="form-top-icon"> <div slot="formLeft" class="form-top-icon">
<img src="../assets/franchise1/nicheng.svg" alt=""> <img src="../assets/franchise1/nicheng.svg" alt="">
<span>平台昵称</span> <span>平台昵称</span>
</div> </div>
<GuipInput slot="formDom" ref="GuipInput" v-model="form.username" prop="username" placeholder="为自己取个平台昵称" desc="仅用于后台内使用、区分子账号"/> <GuipInput slot="formDom" ref="GuipInput" v-model="form.nick" prop="nick" placeholder="为自己取个平台昵称" desc="仅用于后台内使用、区分子账号"/>
</GuipFormItem> </GuipFormItem>
<GuipFormItem column="column" addClass="w388"> <GuipFormItem column="column" addClass="w388">
<div slot="formLeft" class="form-top-icon"> <div slot="formLeft" class="form-top-icon">
<img src="../assets/franchise1/nicheng.svg" alt=""> <img src="../assets/franchise1/nicheng.svg" alt="">
<span>平台昵称</span> <span>联系人姓名</span>
</div> </div>
<GuipInput slot="formDom" ref="GuipInput" placeholder="您的真实姓名"/> <GuipInput slot="formDom" ref="GuipInput" v-model="form.name" prop="name" placeholder="您的真实姓名"/>
</GuipFormItem> </GuipFormItem>
<GuipFormItem column="column" addClass="w388"> <GuipFormItem column="column" addClass="w388">
<div slot="formLeft" class="form-top-icon"> <div slot="formLeft" class="form-top-icon">
<img src="../assets/franchise1/storeNum.svg" alt=""> <img src="../assets/franchise1/storeNum.svg" alt="">
<span>手机号码</span> <span>手机号码</span>
</div> </div>
<PhoneCode slot="formDom"></PhoneCode> <PhoneCode slot="formDom" ref="PhoneCode" v-model="form.phone" prop="phone"></PhoneCode>
</GuipFormItem> </GuipFormItem>
<GuipFormItem column="column" addClass="w388"> <GuipFormItem column="column" addClass="w388">
<div slot="formLeft" class="form-top-icon"> <div slot="formLeft" class="form-top-icon">
<img src="../assets/franchise1/codeNumber.svg" alt=""> <img src="../assets/franchise1/codeNumber.svg" alt="">
<span>验证码</span> <span>验证码</span>
</div> </div>
<GuipInput slot="formDom" ref="GuipInput" placeholder="填写验证码"/> <GuipInput slot="formDom" ref="GuipInput" v-model="form.sms_code" prop="sms_code" placeholder="填写验证码"/>
</GuipFormItem> </GuipFormItem>
</div> </div>
</el-form> </el-form>
@ -107,24 +107,28 @@ export default {
height: '46px' height: '46px'
}, },
form: { form: {
username: '', tid: '',
language: '', name: '',
phone: '',
sms_code: '',
nick: '',
recommended_aid: '',
}, },
rules: { rules: {
username: [ tid: [
{ required: true, message: '请输入平台昵称', trigger: 'blur' } { required: true, message: '请输入订单号', trigger: 'blur' }
], ],
card: [ nick: [
{ required: true, message: '请选择有效信息', trigger: 'blur' } { required: true, message: '请输入平台昵称', trigger: 'blur' }
], ],
language: [ name: [
{ required: true, message: '请选择语言', trigger: 'blur' }, { required: true, message: '请输入真实姓名', trigger: 'blur' }
], ],
phone: [ phone: [
{ required: true, message: '请输入手机号', trigger: 'blur' } { required: true, message: '请输入手机号', trigger: 'blur' }
], ],
age: [ sms_code: [
{ required: true, message: '请输入年龄', trigger: 'blur' } { required: true, message: '请输入验证码', trigger: 'blur' }
] ]
}, },
}; };
@ -136,9 +140,38 @@ export default {
PhoneCode, PhoneCode,
Footer Footer
}, },
mounted(){
if(this.$route.aid){
this.form.recommended_aid = this.$route.aid;
}
},
methods: { methods: {
goAddFranchise(){ goAddFranchise(){
// console.log(this.form)
const that = this
that.$refs.formRef.validate((valid) => {
if (valid) {
this.$http('POST', '/agentnew/ajax_submit_register_info', {
tid: that.form.tid,
name: that.form.name,
phone: that.form.phone,
sms_code: that.form.sms_code,
nick: that.form.nick,
recommended_aid: that.form.recommended_aid,
}).then(response => {
if (!response.status) {
that.$message.warning(response.info);
}else{
that.$message.success(response.info);
}
}).catch(error => {
console.error(error, 'error')
})
} else {
console.log('表单校验失败');
return false;
}
});
} }
} }
} }

128
src/views/SiteList.vue

@ -40,18 +40,17 @@
</div> </div>
</div> </div>
<el-form> <el-form>
<el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" <el-table :data="tableData" style="width: 100%" >
style="width: 100%" :key="random()">
<!-- 其他列 --> <!-- 其他列 -->
<el-table-column prop="name" label="站点简称" width="210"> <el-table-column prop="short_name" label="站点简称" width="210">
<template slot-scope="scope"> <template slot-scope="scope">
<a class="name_link flex cell_render" :href="scope.row.link" target="_blank"> <a class="name_link flex cell_render" :href="scope.row.domain" target="_blank">
{{ scope.row.name }} {{ scope.row.short_name }}
<img class="edit_icon" src="@/assets/site/form_link.svg" alt=""> <img class="edit_icon" src="@/assets/site/form_link.svg" alt="">
</a> </a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="registerDate" label="注册时间"></el-table-column> <el-table-column prop="regtime" label="注册时间"></el-table-column>
<!-- 价格列 --> <!-- 价格列 -->
<el-table-column label="站点分组" prop="group"> <el-table-column label="站点分组" prop="group">
@ -94,7 +93,7 @@
</el-popover> </el-popover>
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column prop="phoneService" label="手机服务" :filters="phoneService" <el-table-column prop="phone_services" label="手机服务" :filters="phoneService"
:filter-method="filterHandler"> :filter-method="filterHandler">
</el-table-column> </el-table-column>
<!-- <el-table-column prop="department" label="部门"> <!-- <el-table-column prop="department" label="部门">
@ -108,37 +107,37 @@
</template> </template>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="status" label="状态" width="195"> <el-table-column prop="config_progress_status" label="状态" width="195">
<template v-slot="{ row, $index }"> <!-- <template v-slot="{ row, $index }">-->
<el-popover v-model="row.status_popover" placement="top" trigger="manual" <!-- <el-popover v-model="row.status_popover" placement="top" trigger="manual"-->
:ref="`popover-${$index}`" @show="popshow"> <!-- :ref="`popover-${$index}`" @show="popshow">-->
<!-- 弹框内容 --> <!-- &lt;!&ndash; 弹框内容 &ndash;&gt;-->
<div class="statusList"> <!-- <div class="statusList">-->
<p class="flex"> <!-- <p class="flex">-->
<img style="margin-right: 8px;" src="@/assets/site/info_filled.svg" <!-- <img style="margin-right: 8px;" src="@/assets/site/info_filled.svg"-->
alt="">自有域名验证未通过 <!-- alt="">自有域名验证未通过-->
</p> <!-- </p>-->
<p class="flex" style="margin: 12px 0;"> <!-- <p class="flex" style="margin: 12px 0;">-->
<img style="margin-right: 8px;" src="@/assets/site/info_filled.svg" <!-- <img style="margin-right: 8px;" src="@/assets/site/info_filled.svg"-->
alt="">收款方式未配置 <!-- alt="">收款方式未配置-->
</p> <!-- </p>-->
<p class="flex"> <!-- <p class="flex">-->
<img style="margin-right: 8px;" src="@/assets/site/info_filled.svg" <!-- <img style="margin-right: 8px;" src="@/assets/site/info_filled.svg"-->
alt="">支付宝收款账号未配置 <!-- alt="">支付宝收款账号未配置-->
</p> <!-- </p>-->
</div> <!-- </div>-->
<!-- 触发弹框的按钮 --> <!-- &lt;!&ndash; 触发弹框的按钮 &ndash;&gt;-->
<span slot="reference" @click="handlePriceClick(row, $index, 'status')"> <!-- <span slot="reference" @click="handlePriceClick(row, $index, 'status')">-->
<div class="flex cell_render"> <!-- <div class="flex cell_render">-->
<span :class="(row.status == '0' ? 'in_services' : 'in_config')">{{ <!-- <span :class="(row.status == '0' ? 'in_services' : 'in_config')">{{-->
row.status == '0' ? '运行中' : '配置中' }}</span> <!-- row.status == '0' ? '运行中' : '配置中' }}</span>-->
<img class="edit_icon" v-if="row.status == '1'" <!-- <img class="edit_icon" v-if="row.status == '1'"-->
src="@/assets/site/more_setIcon.png" alt=""> <!-- src="@/assets/site/more_setIcon.png" alt="">-->
</div> <!-- </div>-->
</span> <!-- </span>-->
</el-popover> <!-- </el-popover>-->
</template> <!-- </template>-->
</el-table-column> </el-table-column>
<el-table-column fixed="right" label="操作" width="182"> <el-table-column fixed="right" label="操作" width="182">
<template slot-scope="scope"> <template slot-scope="scope">
@ -149,10 +148,10 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination background @size-change='handleSizeChange' @current-change='handleCurrentChange' <!-- <el-pagination background @size-change='handleSizeChange' @current-change='handleCurrentChange'-->
:current-page="currentPage" :page-size=pageSize layout="prev, pager, next,jumper" <!-- :current-page="currentPage" :page-size=pageSize layout="prev, pager, next,jumper"-->
:total="tableData.length"> <!-- :total="tableData.length">-->
</el-pagination> <!-- </el-pagination>-->
</el-form> </el-form>
</div> </div>
<GuipDialog type="normal" width="396px" :dialogVisible="addGroupVisiable" title="温馨提示" :show-close-button="false" <GuipDialog type="normal" width="396px" :dialogVisible="addGroupVisiable" title="温馨提示" :show-close-button="false"
@ -192,6 +191,7 @@ export default {
searchText: '', searchText: '',
filteredOptions: this.options, filteredOptions: this.options,
editingIndex: -1, editingIndex: -1,
gid: 0,//id
groupName: '',// groupName: '',//
addGroupVisiable: false, addGroupVisiable: false,
selectedValue: '', selectedValue: '',
@ -227,22 +227,22 @@ export default {
height: '30px' height: '30px'
}, },
tableData: [ tableData: [
{ // {
name: '哈哈哈', // name: '',
link: 'http://www.chachongz.com', // link: 'http://www.chachongz.com',
registerDate: '2025.02.18', // registerDate: '2025.02.18',
group: '1', // group: '1',
phoneService: '撒大事', // phoneService: '',
status: '1',// // status: '1',//
}, // },
{ // {
name: '知网学诚教育', // name: '',
link: 'http://new.checkcopy.com', // link: 'http://new.checkcopy.com',
registerDate: '2025.02.18', // registerDate: '2025.02.18',
group: '2', // group: '2',
phoneService: '设计部', // phoneService: '',
status: '0',// // status: '0',//
}, // },
], ],
groupList: { groupList: {
1: '内部测试', 1: '内部测试',
@ -291,8 +291,22 @@ export default {
}) })
console.log(this.tableData, '000--'); console.log(this.tableData, '000--');
this.getData()
}, },
methods: { methods: {
getData() {
const that = this
that.tableData = []
this.$http('POST', '/agentnew/ajax_get_site_list', {
gid: that.gid,
}).then(response => {
this.$nextTick(() => {
that.tableData = Object.values(response.data.sitelist);
})
}).catch(error => {
console.error(error, 'error')
})
},
// //
handleSearch(keyword) { handleSearch(keyword) {
console.log(keyword,'keyword---'); console.log(keyword,'keyword---');

19
src/views/super/Ranking/Purchase.vue

@ -197,22 +197,17 @@ export default {
this.currentPage = 1 this.currentPage = 1
this.getData() this.getData()
}, },
// 'form.date'(newVal) {
// if (Array.isArray(newVal) && newVal.length === 2) {
// this.form.start_date = this.formatDateTime(new Date(newVal[0]));
// this.form.end_date = this.formatDateTime(new Date(newVal[1]));
// } else {
// this.form.start_date = '';
// this.form.end_date = '';
// }
// }
}, },
methods: { methods: {
testClick(e) { testClick(e) {
this.$nextTick(() => { this.$nextTick(() => {
// this.$set(this.form, "date", [e[0], e[1]]); if (Array.isArray(e) && e.length === 2) {
this.$set(this.form, "start_date", e[0]); this.$set(this.form, "start_date", e[0]);
this.$set(this.form, "end_date", e[1]); this.$set(this.form, "end_date", e[1]);
} else {
this.$set(this.form, "start_date", '');
this.$set(this.form, "end_date", '');
}
}); });
}, },
getData(){ getData(){

4
vue.config.js

@ -6,6 +6,10 @@ module.exports = {
'/supernew': { '/supernew': {
target: 'http://adminnew.pengda.checkcopy.com/', target: 'http://adminnew.pengda.checkcopy.com/',
changeOrigin: true, changeOrigin: true,
},
'/agentnew': {
target: 'http://adminnew.pengda.checkcopy.com/',
changeOrigin: true,
} }
} }
}, },

Loading…
Cancel
Save